/**
 * Copyright© 2003-2019 浙江汇信科技有限公司, All Rights Reserved. <br/>
 * 描述: TODO <br/>
 *
 * @author framework generator
 * @date 2022年02月15日
 * @version 2.0
 */
package com.icinfo.cloud.provider.punish.approval.mapper;

import com.icinfo.cloud.provider.punish.approval.dto.ApprovalOpinionQueryDto;
import com.icinfo.cloud.provider.punish.approval.dto.AuditQueryPageDto;
import com.icinfo.cloud.provider.punish.approval.model.CaseApprovalCompleteRecord;
import com.icinfo.cloud.provider.punish.approval.vo.ApprovalOpinionVo;
import com.icinfo.cloud.provider.punish.approval.vo.AuditInfoListVo;
import com.icinfo.cloud.provider.punish.approval.vo.CaseApprovalCompleteRecordVo;
import com.icinfo.cloud.provider.punish.approval.vo.EachStageNumVo;
import com.icinfo.framework.mybatis.mapper.common.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 描述: 案件文书审批完成记录 case_approval_complete_record 对应的Mapper接口.<br>
 *
 * @author framework generator
 * @date 2022年02月15日
 */
public interface CaseApprovalCompleteRecordMapper extends Mapper<CaseApprovalCompleteRecord> {

    /**
     * 查询审批状态 对应案件数
     * @param auditQueryPageDto
     * @return
     */
    EachStageNumVo getStageCaseNum(AuditQueryPageDto auditQueryPageDto);

    /**
     * 查询审批状态 对应案件数--联合法制审核
     * @param auditQueryPageDto
     * @return
     */
    EachStageNumVo getStageCaseCenterNum(AuditQueryPageDto auditQueryPageDto);
    /**
     * 我已审批列表查询
     * @param auditQueryPageDto
     * @return
     */
    List<AuditInfoListVo> getOffAuditList(AuditQueryPageDto auditQueryPageDto);

    /**
     * 我已审批列表查询---联合法制审核
     * @param auditQueryPageDto
     * @return
     */
    List<AuditInfoListVo> getOffAuditCenterList(AuditQueryPageDto auditQueryPageDto);
    /**
     * 已审批意见查询查询
     * @param caseId
     * @param docId
     * @return
     */
    List<ApprovalOpinionVo> getFinishOpinions(@Param("caseId") String caseId,@Param("docId") String docId);

    /**
     * 描述：获取审批意见相关信息
     *
     * @param queryDto {@link ApprovalOpinionQueryDto}
     * @return {@link List<CaseApprovalCompleteRecordVo>}
     * @author xiangyuyu
     * @date 2022-04-01 20:02
     */
    List<CaseApprovalCompleteRecordVo> selectCheckOpinionInfo(@Param("queryDto") ApprovalOpinionQueryDto queryDto);
    /**
     * 查询历史审批内容
     * @author liyafeng
     * @date 2022/7/11
      * @param paramMap
     * @return {@link List< String>}
     */
    List<String> selectApprovalOpinionHis(Map<String, Object> paramMap);

    /**
     * 描述: 工作台-查看更多，已审批列表
     *
     * @param auditQueryPageDto
     * @return java.util.List<com.icinfo.cloud.provider.punish.approval.vo.AuditInfoListVo>
     * @author zhanghongqiang
     * @Date 2022/8/30
     */
    List<AuditInfoListVo> selectApprovalList(AuditQueryPageDto auditQueryPageDto);

    /**
     * 描述: 工作台-查看更多，已审批列表对应案件数
     *
     * @param auditQueryPageDto
     * @return com.icinfo.framework.common.web.Result
     * @author zhanghongqiang
     * @Date 2022/8/30
     */
    EachStageNumVo selectStageNum(AuditQueryPageDto auditQueryPageDto);

}